#include<stdio.h>
#define N 100
//BUG here
//TODO
long long hh[N+1];
int inc(const void*a,const void*b)
{
    long long *pa=(long long *)a;
    long long *pb=(long long *)b;
    long long flag= *pa-*pb;
    if(flag>0)
        return 1;
    if(flag<0)
        return -1;
    return 0;
}
void fill(){
    int i;
    for(i=1;i<=N;i++)
        hh[i]=1LL*i*i*i*i*i;
}
void solve()
{
//(1) assume 1<=a<=b<=c<=d<=e<f<=100
//(2) save  hh[x]
fill();
    int a,b,c,d,e,f;
    for(a=1;a<N;a++)
    for(b=a;b<N;b++)
    for(c=b;c<N;c++)
    for(d=c;d<N;d++)
    for(e=d;e<N;e++)

    {
        long long key=hh[a]+hh[b]+hh[c]+hh[d]+hh[e];

        long long *pos=bsearch(&key,
                               hh+e+1,
                               N-e,
                               sizeof(hh[0]),
                               inc
                               );
        if(pos!=NULL)
            {
             //   printf("key=%I64d pos=%d\n",key,pos-hh);
                printf("%d %d %d %d %d %d\n",a,b,c,d,e,f=pos-hh);
            }
    }


}
int main()
{
    long long start=clock();

    solve();


    long long end=clock();
    printf("%.3f second(s).\n",(end-start)/1000.0);
    return 0;
}
